It is often necessary to determine the propagation characteristics of wireless signals, as for example during design and planning of mobile networks for civilian or military use. Generally speaking, simulation models require attenuation values between pairs of locations or points on a terrain map. In this planning with simulation modeling, the point-to-point attenuation or propagation of electromagnetic signals may have to be calculated not only between two identified locations, but more generally between locations of “transmitters” and “receivers” which may both be in motion. The calculations must therefore be performed for path characteristics between each and every possible point in a terrain and every other possible point. These calculations are performed by computer, or the information may be generated empirically, but in either case a vast amount of data must be processed to produce the attenuation information.
New attenuation values are needed during simulations as the locations of the transmitter and receiver move and also as they change frequency. The calculations (or empirical tests) are time-consuming because two-dimensional integration must be performed between each transmitter-receiver pair, such as pair A-B, to account for the terrain elevations at all points between A and B which may obstruct or partially attenuate the signal. The path's width depends upon the bandwidth of the signal, and generally subtends a small apparent angle around B as seen from A, and vice-versa. The primary field of influence between A and B therefore produces a convex hull due to wave-spreading with distance. The degree to which the complex hull is truncated or obstructed by the terrain determines the amount of attenuation between A and B. A 3-dimensional computation must be performed for each of thousands of intervening points for each propagation calculation.
FIG. 1 represents a logic flow chart or diagram of the prior-art Longley-Rice Irregular Terrain Model (ITM) method. In FIG. 1, the logic Longley-Rice ITM method begins at a START block 12, and the logic then flows to a further block 14, which represents accessing information relating to the frequency or frequencies of the electromagnetic radiation. The logic flows to block 16, which represents the importation of a terrain map, which should preferably include at least elevation characteristics of the terrain. The terrain map either includes a grid of possible locations for the transmitter and receiver, or the terrain map is modified in a block 18 to include such locations. FIG. 2 illustrates a rectangular terrain plot 210 with an array 212 of possible location grid points, represented as dots. A first grid point in terrain 210 is designated 212x=1,y=1.
In FIG. 1, the logic flows from block 18 to block 20, which represents the initial setting of the transmitter location to a first value of x,y. Block 22 represents integration of the attenuation between the initial transmitter location and the next adjacent location to produce an attenuation value for this physical interval. From block 22, the logic flows to a decision block 24, which determines if the current value of y is the maximum possible value for the terrain in question. If the current value of y is less than the maximum possible value, the logic leaves decision block 24 by the NO output, and proceeds to a block 26. Block 26 increments the current value of y to y+1, and the logic returns to block 22 by way of a logic path designated 26o. The logic iterates around the loop including blocks 22, 24, and 26, producing integrated values of attenuation for each point, until the current value of y reaches ymax. Thus, blocks 22, 24, and 26 together represent an iterative evaluation of attenuation between the starting value of x,y for (to) each possible value of y at the given value of x. At the time at which y reaches ymax, the logic leaves decision block 24 by the YES output, and proceeds to a block 28. Block 28 represents the incrementing of variable x to x+1. The logic returns to block 20, which initializes the transmitter position to a new value of x,y. The logic then again proceeds to blocks 22, 24, and 26, which again produce values of attenuation between the original x,y location set by block 20 and (to) each possible value of y for the given value of x. Thus, the logic including blocks 20, 22, 24, 26, and 28 iteratively selects all possible x,y starting locations of set 212 of FIG. 2, and for each such starting location, determines the attenuation between that starting “transmitter” location and every possible “receiver” location. As each attenuation value is generated, the starting or transmitter location, the receiver location, and the attenuation can be read at an output data port such as 30.
A possible improvement on the arrangement of FIG. 1 is to perform the method of FIG. 1 for all possible paths or locations in the terrain, and storing the results in memory for use as required. However, the storage requirements are beyond the ability of currently available computers for high resolution results. This can readily be understood by referring to FIG. 3a, which represents the contents of one memory location or portion associated with storage of the results from port 30 of FIG. 1. More particularly, FIG. 3a represents a corner of terrain 210 of FIG. 2, in which only the location 212x=1,y=1 associated with the first terrain location is shown. The memory portion associated with location 212x=1,y=1 of FIG. 3a is designated 312x=1,y=1. Memory portion 312x=1,y=1 of FIG. 3a is only one location in a memory designated generally as 312 in FIG. 3a. The contents required of memory portion 312x=1,y=1 is suggested by the contents of memory portion 312x=1,y=1 of FIG. 3a. More particularly, the memory portion 312x=1,y=1 associated with the first location 212x=1,y=1 must contain the attenuation information between the first location 212x=1,y=1 and each other location on the terrain. If the terrain 210 has a set of NXN locations, the first memory portion 312x=1,y=1 must have N2 sites. In order to store the corresponding information for each of the NXN locations 212 of FIG. 2, the memory must have NXN memory portions, each capable of storing NXN pieces of information. Thus, a memory capable of storing the attenuation data must have a number of portions or storage locations proportional to N2×N2 or N4, where N is the number of locations in one dimension (along one edge) of the terrain. Such large numbers of storage locations are currently impractical, especially since the number of points in the terrain may be large.
FIG. 3b illustrates represents a memory portion 312x=p,y=q corresponding to memory portion 3121,2 of FIG. 3a, but “located” or associated with a location p,q near the center of terrain 210 of FIG. 2. Memory portion 312x=p,y=q is also a part of memory 312. Memory portion 312x=p,y=q must contain the attenuation information between the location 212x=p,y=q and each other location on the terrain, as suggested by the arrows radiating from location p,q within memory portion 312x=p,y=q. In order to maintain FIG. 3b uncluttered, only some of the arrows are illustrated. The number of bytes which the memory portion of FIG. 3b must hold is equal to that of the memory portion of FIG. 3a. 
Thus, the current state of the art is to calculate the attenuation between locations of a terrain as needed. Improved methods are desired for accessing attenuation information.